草庐IT

Java 源代码生成框架

全部标签

ruby - 使用 MRI 生成竞争条件

我想知道使用MRIruby​​(2.0.0)和一些全局变量来创建竞争条件是否容易,但事实证明这并不容易。看起来它应该在某个时候失败,但它没有,我已经运行了10分钟。这是我一直在努力实现的代码:definc(*)a=$xa+=1a*=3000a/=3000$x=aendTHREADS=10COUNT=5000loopdo$x=1THREADS.times.mapdoThread.new{COUNT.times(&method(:inc))}end.each(&:join)breakputs"woohoo!"if$x!=THREADS*COUNT+1endputs$x为什么我无法生成(或检

ruby-on-rails - 如何使用 RSpec 测试生成器

有没有推荐的测试方式Railsgenerators与RSpec?我找到的唯一解决方案是GeneratorSpecgem,已经两年多没有更新了。 最佳答案 有gemhttps://github.com/petergoldstein/generator_spec,虽然维护得不是很积极,但做得不错 关于ruby-on-rails-如何使用RSpec测试生成器,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/

ruby-on-rails - Rcov:为什么这段代码没有被考虑覆盖?

这是我的Controller:classMyController@list}format.json{render:json=>@list}endendendend...它所基于的助手:moduleMyHelperdefget_list_from_params(param=:id,&on_success)raw_id=params[param]beginid=Integer(raw_id)rescuerender:template=>"invalid_id",:locals=>{:id=>raw_id}elseyieldMyList.new(id)endendend...和我的功能测试(

ruby - 我如何将 Ripper 的 AST 重新编译回 Ruby 代码?

Ripper是Ruby1.9附带的解析库。它将Ruby代码转换为AST,如下所示:ppRipper.sexp("deffoo;yield:a;return1end")#=>[:program,[[:def,[:@ident,"foo",[1,4]],[:params,nil,nil,nil,nil,nil],[:bodystmt,[[:yield,[:args_add_block,[[:symbol_literal,[:symbol,[:@ident,"a",[1,16]]]]],false]],[:return,[:args_add_block,[[:@int,"1",[1,26]]

ruby-on-rails - minitest 测试和代码覆盖率

我使用mini-test来测试框架。我使用omniauthgem进行身份验证。我使用simplecov进行代码覆盖。我使用"bundleexecrake"或"rakeminitest:controllers"运行我的测试。我举一个Controller的例子。当我运行rakeminitest:controllers时,Controller代码覆盖率变为100%。但是,当我运行bundleexecrake时,Controller代码覆盖率变为60%。SessionsController.rb代码:classSessionsControllersessionController_测试.rbr

ruby-on-rails - 具有六边形架构和 DCI 模式的框架和数据库适配器

我尝试用Ruby设计一个基于Web的应用程序。我开发了一个简单的核心应用程序,在没有框架和数据库的情况下在六边形架构中实现DCI范例。核心六边形中有小六边形和网络,数据库,日志等适配器。每个六边形都在没有数据库和框架的情况下自行运行。在这种方法中,我如何提供与数据库模型和实体类的关系作为独立于数据库的关系。我想在将来将框架从Rails更改为Sinatra或数据库。事实上,我如何在这个核心Hexagon中实现完全隔离的rails和mongodb的数据库适配器或框架适配器。有什么想法吗? 最佳答案 ROM呢?(Ruby对象映射器)。还有

ruby - 当 shelled-out 命令返回非零退出代码时,如何让 Ruby 脚本失败?

在Ruby脚本中,有variousways调用系统命令/命令行反引号:`commandarg1arg2`分隔形式,例如%x(commandarg1arg2)(可用其他分隔符)Kernel#system方法:system('commandarg1arg2')Kernel#exec方法:exec('commandarg1arg2')如果我希望Ruby脚本在调用的命令失败时失败(有异常)(具有非零退出代码),我可以检查特殊变量中的退出代码$?对于前两个变体:`commandarg1arg2`failunless$?==0或%x,commandarg1arg2,failunless$?==0如

ruby-on-rails - 带有自定义 rails 表单生成器的额外字段

我有一个自定义表单生成器,使用此自定义生成器的原因之一是对于每个表单,我都需要包含一些额外的参数,我不想在每个表单中使用隐藏字段标签显式放入这些参数写。for_for(@foo,:builder=>MyBuilder)do|f|#stuffIshouldn'thavetoworryabout#thisshouldbeputinallthetimewithoutmehavingtodoithidden_field_tag('extra','myextrainfo')#normalthingsIwouldputinf.text_field(:bar)end我必须在我的自定义表单构建器中做什

ruby - 如何获取我的 Sinatra 应用程序的代码覆盖率统计信息?

我编写了一个Sinatra应用程序(网站),我想收集网站代码的代码覆盖率信息。我是Ruby的新手,但Google告诉我rcov是一个很好的代码覆盖工具。不幸的是,我在网上可以找到的所有信息只显示了如何获取有关测试用例的代码覆盖率信息-我想要有关我的站点本身的代码覆盖率信息。我想要分析的特定站点文件位于“sdk”和“sdk/vendor”目录中,因此我通常使用“rubysite.rb”运行我的站点的地方我改为尝试以下操作:rcov-Isdk-Isdk/vendorsite.rb它显示了Sinatra启动文本,但随后立即退出,而不是像我的Sinatra应用程序通常那样等待网络请求。有人能告

c - 我是如何让 gcc 生成 .bundle 而不是 .so 的?

我正在尝试编写一个Ruby扩展,而且我一整天都在成功编译我的nmatrix.so共享对象文件。但是,突然之间,它开始生成nmatrix.bundle,而根本没有任何.so文件。它没有给我任何链接器错误,所以我无法想象为什么会这样。我也没有更改myMakefileorextconf.rb中的任何内容.我一直通过rvm使用Ruby1.9.3p0。我已经尝试对当天的工作执行gitstashsave并编译一些我知道应该没有链接器错误的东西(产生.so的东西)更早。不幸的是,这也会生成一个.bundle文件。很明显,我做了一些事情——可能是无意中安装了一些东西——这改变了一些关键的GCC设置。这